﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

using ComLib.Lang;


namespace FluentScript.IDE.Lib
{
    /// <summary>
    /// Base class for view parts in the IDE.
    /// </summary>
    public class ViewPartBase : UserControl, IViewPart
    {
        /// <summary>
        /// Initailize
        /// </summary>
        public ViewPartBase()
        {
            Context = new ViewContext();
        }


        /// <summary>
        /// What type of view this is.
        /// </summary>
        public string ViewType { get; set; }



        /// <summary>
        /// THe contextual information for a view part.
        /// </summary>
        public ViewContext Context { get; set; }


        /// <summary>
        /// Initialize the ui.
        /// </summary>
        public virtual void Init()
        {
        }


        /// <summary>
        /// Updates the ui
        /// </summary>
        public virtual void Update()
        {
            throw new NotImplementedException();
        }


        /// <summary>
        /// Shows the ui if visible
        /// </summary>
        public virtual void Show()
        {
            throw new NotImplementedException();
        }


        /// <summary>
        /// Hides the ui if visible.
        /// </summary>
        public virtual void Hide()
        {
            throw new NotImplementedException();
        }


        /// <summary>
        /// Resets the ui
        /// </summary>
        public virtual void Clear()
        {
            throw new NotImplementedException();
        }
    }
}
